package com.ruoyi.whole.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 退车管理对象 dms_whole_sales_return
 * 
 * @author liuchuanfa
 * @date 2024-03-11
 */
public class DmsWholeSalesReturn extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 退货单号 */
    @Excel(name = "退货单号")
    private String returnNo;

    /** 实销上报id */
    @Excel(name = "实销上报id")
    private Long reportId;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String dealerName;

    /** 退货状态（0待提交 1待确认 2待财务审核 3 待入库 4 已完成退车 5 审批驳回） */
    @Excel(name = "退货状态", readConverterExp = "0=待提交,1=待确认,2=待财务审核,3=待入库,4=已完成退车,5=审批驳回")
    private Integer applyStatus;

    /** 是否符合国家三包退换车质量（0不符合 1符合） */
    @Excel(name = "是否符合国家三包退换车质量", readConverterExp = "0=不符合,1=符合")
    private Integer isQualityProblem;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date storageDate;

    /** 退车入库仓库（1 一号仓库, 2 二号仓库, 3 三号仓库） */
    @Excel(name = "退车入库仓库", readConverterExp = "1=一号仓库,2=二号仓库,3=三号仓库")
    private Integer returnWarehouse;

    /** 退款账户 */
    @Excel(name = "退款账户")
    private String returnAccount;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private Double returnAmount;

    /** 退车用户姓名 */
    @Excel(name = "退车用户姓名")
    private String returnName;

    /** 退车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnDate;

    /** 退车说明 */
    @Excel(name = "退车说明")
    private String returnDesc;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;

    /** 申请人id */
    @Excel(name = "申请人id")
    private Long applyPersonId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applyPersonName;

    /** 审核人id */
    @Excel(name = "审核人id")
    private Long auditorId;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditorTime;

    /** 审批意见 */
    @Excel(name = "审批意见")
    private String auditorDesc;


    public void setReturnNo(String returnNo) 
    {
        this.returnNo = returnNo;
    }

    public String getReturnNo() 
    {
        return returnNo;
    }
    public void setReportId(Long reportId) 
    {
        this.reportId = reportId;
    }

    public Long getReportId() 
    {
        return reportId;
    }
    public void setDealerId(Long dealerId) 
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId() 
    {
        return dealerId;
    }
    public void setDealerName(String dealerName) 
    {
        this.dealerName = dealerName;
    }

    public String getDealerName() 
    {
        return dealerName;
    }
    public void setApplyStatus(Integer applyStatus) 
    {
        this.applyStatus = applyStatus;
    }

    public Integer getApplyStatus() 
    {
        return applyStatus;
    }
    public void setIsQualityProblem(Integer isQualityProblem) 
    {
        this.isQualityProblem = isQualityProblem;
    }

    public Integer getIsQualityProblem() 
    {
        return isQualityProblem;
    }
    public void setStorageDate(Date storageDate) 
    {
        this.storageDate = storageDate;
    }

    public Date getStorageDate() 
    {
        return storageDate;
    }
    public void setReturnWarehouse(Integer returnWarehouse) 
    {
        this.returnWarehouse = returnWarehouse;
    }

    public Integer getReturnWarehouse() 
    {
        return returnWarehouse;
    }
    public void setReturnAccount(String returnAccount) 
    {
        this.returnAccount = returnAccount;
    }

    public String getReturnAccount() 
    {
        return returnAccount;
    }
    public void setReturnAmount(Double returnAmount) 
    {
        this.returnAmount = returnAmount;
    }

    public Double getReturnAmount() 
    {
        return returnAmount;
    }
    public void setReturnName(String returnName) 
    {
        this.returnName = returnName;
    }

    public String getReturnName() 
    {
        return returnName;
    }
    public void setReturnDate(Date returnDate) 
    {
        this.returnDate = returnDate;
    }

    public Date getReturnDate() 
    {
        return returnDate;
    }
    public void setReturnDesc(String returnDesc) 
    {
        this.returnDesc = returnDesc;
    }

    public String getReturnDesc() 
    {
        return returnDesc;
    }
    public void setApplyDate(Date applyDate) 
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate() 
    {
        return applyDate;
    }
    public void setApplyPersonId(Long applyPersonId) 
    {
        this.applyPersonId = applyPersonId;
    }

    public Long getApplyPersonId() 
    {
        return applyPersonId;
    }
    public void setApplyPersonName(String applyPersonName) 
    {
        this.applyPersonName = applyPersonName;
    }

    public String getApplyPersonName() 
    {
        return applyPersonName;
    }
    public void setAuditorId(Long auditorId) 
    {
        this.auditorId = auditorId;
    }

    public Long getAuditorId() 
    {
        return auditorId;
    }
    public void setAuditorName(String auditorName) 
    {
        this.auditorName = auditorName;
    }

    public String getAuditorName() 
    {
        return auditorName;
    }
    public void setAuditorTime(Date auditorTime) 
    {
        this.auditorTime = auditorTime;
    }

    public Date getAuditorTime() 
    {
        return auditorTime;
    }
    public void setAuditorDesc(String auditorDesc) 
    {
        this.auditorDesc = auditorDesc;
    }

    public String getAuditorDesc() 
    {
        return auditorDesc;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("returnNo", getReturnNo())
            .append("reportId", getReportId())
            .append("dealerId", getDealerId())
            .append("dealerName", getDealerName())
            .append("applyStatus", getApplyStatus())
            .append("isQualityProblem", getIsQualityProblem())
            .append("storageDate", getStorageDate())
            .append("returnWarehouse", getReturnWarehouse())
            .append("returnAccount", getReturnAccount())
            .append("returnAmount", getReturnAmount())
            .append("returnName", getReturnName())
            .append("returnDate", getReturnDate())
            .append("returnDesc", getReturnDesc())
            .append("applyDate", getApplyDate())
            .append("applyPersonId", getApplyPersonId())
            .append("applyPersonName", getApplyPersonName())
            .append("auditorId", getAuditorId())
            .append("auditorName", getAuditorName())
            .append("auditorTime", getAuditorTime())
            .append("auditorDesc", getAuditorDesc())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
